/*     */ package eos.moe.dragoncore;
/*     */ 
/*     */ import java.io.File;
/*     */ import java.io.FileNotFoundException;
/*     */ import java.io.IOException;
/*     */ import java.io.OutputStream;
/*     */ import java.io.RandomAccessFile;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class jl
/*     */   extends OutputStream
/*     */   implements c
/*     */ {
/*     */   private RandomAccessFile d;
/*     */   private long z;
/*     */   private File i;
/*     */   private int w;
/*     */   private long q;
/*  39 */   private xj g = new xj();
/*     */   
/*     */   public jl(File file) throws FileNotFoundException, pg {
/*  42 */     this(file, -1L);
/*     */   }
/*     */   
/*     */   public jl(File file, long l) throws FileNotFoundException, pg {
/*  46 */     if (l >= 0L && l < 65536L) {
/*  47 */       throw new pg("split length less than minimum allowed split length of 65536 Bytes");
/*     */     }
/*     */     
/*  50 */     this.d = new RandomAccessFile(file, dg.w.v());
/*  51 */     this.z = l;
/*  52 */     this.i = file;
/*  53 */     this.w = 0;
/*  54 */     this.q = 0L;
/*     */   }
/*     */   
/*     */   public void write(int i) throws IOException {
/*  58 */     write(new byte[] { (byte)i });
/*     */   }
/*     */   
/*     */   public void write(byte[] arrayOfByte) throws IOException {
/*  62 */     write(arrayOfByte, 0, arrayOfByte.length);
/*     */   }
/*     */   
/*     */   public void write(byte[] arrayOfByte, int i, int j) throws IOException {
/*  66 */     if (j <= 0) {
/*     */       return;
/*     */     }
/*     */     
/*  70 */     if (this.z == -1L) {
/*  71 */       this.d.write(arrayOfByte, i, j);
/*  72 */       this.q += j;
/*     */       
/*     */       return;
/*     */     } 
/*  76 */     if (this.q >= this.z) {
/*  77 */       v();
/*  78 */       this.d.write(arrayOfByte, i, j);
/*  79 */       this.q = j;
/*  80 */     } else if (this.q + j > this.z) {
/*  81 */       if (v(arrayOfByte)) {
/*  82 */         v();
/*  83 */         this.d.write(arrayOfByte, i, j);
/*  84 */         this.q = j;
/*     */       } else {
/*  86 */         this.d.write(arrayOfByte, i, (int)(this.z - this.q));
/*  87 */         v();
/*  88 */         this.d.write(arrayOfByte, i + (int)(this.z - this.q), (int)(j - this.z - this.q));
/*     */         
/*  90 */         this.q = j - this.z - this.q;
/*     */       } 
/*     */     } else {
/*  93 */       this.d.write(arrayOfByte, i, j);
/*  94 */       this.q += j;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean z(int i) throws pg {
/* 149 */     if (i < 0) {
/* 150 */       throw new pg("negative buffersize for checkBufferSizeAndStartNextSplitFile");
/*     */     }
/*     */     
/* 153 */     if (!v(i)) {
/*     */       try {
/* 155 */         v();
/* 156 */         this.q = 0L;
/* 157 */         return true;
/* 158 */       } catch (IOException iOException) {
/* 159 */         throw new pg(iOException);
/*     */       } 
/*     */     }
/*     */     
/* 163 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void v(long l) throws IOException {
/* 183 */     this.d.seek(l);
/*     */   }
/*     */   
/*     */   public int v(int i) throws IOException {
/* 187 */     return this.d.skipBytes(i);
/*     */   }
/*     */   
/*     */   public void close() throws IOException {
/* 191 */     this.d.close();
/*     */   }
/*     */ 
/*     */   
/*     */   public long v() throws IOException {
/* 196 */     return this.d.getFilePointer();
/*     */   }
/*     */   
/*     */   public boolean v() {
/* 200 */     return (this.z != -1L);
/*     */   }
/*     */   
/*     */   public long z() {
/* 204 */     return this.z;
/*     */   }
/*     */ 
/*     */   
/*     */   public int v() {
/* 209 */     return this.w;
/*     */   }
/*     */ }


/* Location:              D:\fanbian\[D][龙之核心]DragonCore-2.6.0.3.jar!\eos\moe\dragoncore\jl.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */